<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="zh" xml:lang="zh" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Concept: 持续关注质量</title>
<meta name="uma.type" content="Concept">
<meta name="uma.name" content="focus_continuously_quality">
<meta name="uma.presentationName" content="持续关注质量">
<meta name="element_type" content="concept">
<meta name="filetype" content="description">
<meta name="role" content="">
<link rel="StyleSheet" href="./../../../css/default.css" type="text/css">
<script src="./../../../scripts/ContentPageResource.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageSubSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageToolbar.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/contentPage.js" type="text/javascript" language="JavaScript"></script><script type="text/javascript" language="JavaScript">
					var backPath = './../../../';
					var imgPath = './../../../images/';
					var nodeInfo=null;
					contentPage.preload(imgPath, backPath, nodeInfo,  '', false, false, false);
				</script>
</head>
<body>
<div id="breadcrumbs"></div>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top"><a name="Top"></a>
<div id="page-guid" value="_pRxKsDq0EdqvoMTMKvbIlA"></div>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td class="pageTitle" nowrap="true">Concept: 持续关注质量</td><td width="100%">
<div align="right" id="contentPageToolbar"></div>
</td><td width="100%" class="expandCollapseLink" align="right"><a name="mainIndex" href="./../../../index.htm"></a><script language="JavaScript" type="text/javascript" src="./../../../scripts/treebrowser.js"></script></td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="pageTitleSeparator"><img src="./../../../images/shim.gif" alt="" title="" height="1"></td>
</tr>
</table>
<div class="overview">
<table width="97%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50"><img src="./../../../rup/guidances/concepts/resources/pract_dgm32.gif" alt="" title=""></td><td>
<table class="overviewTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">本原则介绍了质量，并描述了如何在整个流程中如何处理它。</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Main Description</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td class="sectionTableSingleCell"><table bordercolor="#ffffff" height="261" width="100%" border="1">
    <tbody>
        <tr>
            <td width="20%" height="255">
                <h4>
                    简介
                </h4>
                <p>
                    此原则强调，要实现质量，就必须在整个项目生命周期中关注质量。特别采用了迭代流程来实现质量，因为它提供了许多评估及修正的机会。
                </p>
            </td>
            <td width="4%" height="255">
                &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
            </td>
            <td width="76%">
                <table bordercolor="#000000" height="251" cellpadding="10" width="100%" border="3">
                    <tbody>
                        <tr>
                            <td width="15%" height="60">
                                <strong>好处</strong>
                            </td>
                            <td width="85%">
                                <ul>
                                    <li>
                                        更高的质量
                                    </li>
                                    <li>
                                        更早地了解进度和质量
                                    </li>
                                </ul>
                            </td>
                        </tr>
                        <tr>
                            <td height="79">
                                <strong>模式</strong>
                            </td>
                            <td>
                                <ol>
                                    <li>
                                        确保团队整体对产品质量负责。
                                    </li>
                                    <li>
                                        尽早地进行测试，并与可演示功能的集成同步进行不断的测试。
                                    </li>
                                    <li>
                                        递增地构建测试自动化。
                                    </li>
                                </ol>
                            </td>
                        </tr>
                        <tr>
                            <td height="98">
                                <strong>反模式</strong>
                            </td>
                            <td>
                                <ul>
                                    <li>
                                        在进行集成测试之前要对等评审所有工件并完成所有单元测试。
                                    </li>
                                    <li>
                                        对所有中间工件要进行深入的对等评审，这会降低生产力，因为它会延迟应用程序测试以及主要问题的确定。
                                    </li>
                                    <li>
                                        在进行集成测试之前要完成所有单元测试，这会再次延迟主要问题的确定。
                                    </li>
                                </ul>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </td>
        </tr>
    </tbody>
</table>
<h4>
    讨论&#160;
</h4>
<p>
    改善质量不是简单的“满足需求”或生产出满足用户需要和期望的产品。 质量还包括确定用于证明实现质量的度量和标准，以及实现一个流程以确保产品已达到所期望的质量水平并可重复和管理。
</p>
<p>
    确保高质量需要的不仅仅是测试团队的参与；它还要求<em>整个团结负责质量</em>。它涉及了所有团队成员及生命周期的所有部分：
</p>
<div style="MARGIN-LEFT: 2em">
    <ul>
        <li>
            <strong>分析人员</strong>负责确保需求是可测试的，并确保为要执行的测试指定的需求是清晰明确的。
        </li>
        <li>
            <strong>开发人员</strong>设计应用程序时需要具有测试意识，并且必须负责测试自己的代码。
        </li>
        <li>
            <strong>管理员</strong>需要确保合适的测试计划到位，并确保构建测件及执行所需测试的适当资源到位。
        </li>
        <li>
            <strong>测试员</strong>是质量专家。他们对团队其他成员就理解软件质量问题进行指导，而且他们负责所有的产品测试（包括功能、系统及性能）。
        </li>
    </ul>
</div>
<p>
    遇到质量问题时，每个团队成员应乐于参与进来以解决问题。
</p>
<p>
    <a class="elementLink" href="./../../../rup/guidances/supportingmaterials/develop_iteratively_1F6AE780.html" guid="3.078174280115047E-305">迭代开发</a>的主要好处之一是它使得可以<em>及早地测试和持续地测试</em>，如下所示。项目结束之前，因为最重要的功能很早就已经实现，最基本的软件可能已经启动且运行了数月，因此可能已对其进行数月的测试。大部分采用迭代式开发的项目声称，改善流程带来了切实的质量提高，这一点也不令人惊奇。
</p>
<p align="center">
    <img alt="迭代式开发使得可以及早地进行测试。每个迭代中开发的软件在构建时都要进行测试。回归测试确保了新的迭代添加功能后不会引入新的缺陷。" src="./../../../rup/guidances/concepts/resources/bp_fig6.gif" />
</p>
<p align="center">
    <strong>测试尽早地启动并在每个迭代中扩展</strong><br />
    <em>迭代式开发使得可以及早地进行测试。每个迭代中开发的软件在构建时都要进行测试。回归测试确保了新的迭代添加功能后不会引入新的缺陷。 请参考：</em> <a class="elementLinkWithType" href="./../../../rup/guidances/supportingmaterials/continuously_verify_quality_86A48171.html" guid="1.116697028560772E-304">Supporting Material: 质量管理</a><em>。</em>
</p>
<p>
    递增构建应用程序时，我们还应<em>递增构建测试自动化</em>，以尽早地检测到缺陷，并将先期投资降到最低。在设计我们的系统时，我们需要考虑如何对其进行测试。
    作出正确的设计决策可以极大地改善我们进行自动化测试的能力。我们可能还可以直接从设计模型生成测试代码。这样既省时间，又为早期测试提供了动力，还可以将测试软件中的错误数降到最低，从而提高测试的质量。自动化测试已成为很多灵活团体关注的主要领域（相对于其他测试），自动化测试的目的是将所有代码的测试自动化，并且测试在编写代码之前编写（测试优先设计）。
</p></td>
</tr>
</table>
</div>
<table class="copyright" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="copyright">Copyright &copy; 2008 版权所有 东软集团股份有限公司&nbsp; 联系邮箱:<a href="mailto:tcoe@neusoft.com">tcoe@neusoft.com</a></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<script type="text/javascript" language="JavaScript">
				contentPage.onload();
			</script>
</html>
